package com.itheima.mapper;

import com.itheima.pojo.OperateLog;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;

/**
 * 操作日志 Mapper 接口：用于记录操作日志到数据库
 */
@Mapper
public interface OperateLogMapper {

    /**
     * 插入操作日志数据
     *
     * @param log 操作日志对象，包含以下字段：
     *            - operateUser: 操作用户
     *            - operateTime: 操作时间
     *            - className: 操作的类名
     *            - methodName: 操作的方法名
     *            - methodParams: 方法参数
     *            - returnValue: 方法返回值
     *            - costTime: 方法执行耗时
     */
    @Insert("INSERT INTO operate_log " +
            "(operate_user, operate_time, class_name, method_name, method_params, return_value, cost_time) " +
            "VALUES " +
            "(#{operateUser}, #{operateTime}, #{className}, #{methodName}, #{methodParams}, #{returnValue}, #{costTime})")
    void insert(OperateLog log);
}